Repository navigation
feat(agent): region tools set and read every zoom, annotation and audio setting - #1182
Conversation
…io setting setZoom/addZoom take focusMode, hideCursor and customScale (written as the inspector writes a typed level, refused past the clip's zoomScaleLimit). add/setAnnotation take the type (text, arrow, privacy blur) through convertAnnotationKind, with figureData/blurData validated by the schema's own. add/setAudio take fades capped at the inspector's AUDIO_FADE_MAX_MS. getCurrentDocument reads all of it back. Part of #1180
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Summary
Batch C of #1180: the region tools reach every setting the inspector has, and
getCurrentDocumentreads them back. Both transports get it (shared tool table), the in-app chat agent too.Zooms (
addZoom(s),setZoom)focusMode(manual / auto) andhideCursor, written as the inspector writes them.customScale: rounded to the hundredth and stored as a depth when the table has that level (zoomLevelFor, now shared with the inspector's level control). Refused past the clip'szoomScaleLimit, with the limit in the message, as the inspector refuses it.depthwithcustomScaleis refused.Annotations (
addAnnotation,setAnnotation)type: text, arrow (figure) or privacyblur, converted throughconvertAnnotationKind. A retype uses the footage under each fragment (annotationFootageRect), like the type switch.figureData/blurDatavalidated by the schema'sfigureDataSchema/blurDataSchema(now exported). OnsetAnnotationonly the keys sent change.width/heightfor arrows and blurs. A blur's box is the recording's picture, so it stays on what it hides.Audio (
addAudio,setAudio)fadeInMs/fadeOutMs, capped atAUDIO_FADE_MAX_MS(5000), moved out ofRightPanes.tsxso the pane and the tools share it.Read side
box(frame / footage), centrex/y,width/height, a text's look, an arrow'sfigureData, a blur'sblurData. An image no longer dumps its data URL astext.hideCursorwhen set (customScalewas already there). Each audio track: its fades.Product decisions
addAudiokeeps fades at 0 by default, as before. The editor's music defaults (−18 dB, 1 s fades) are not applied to agent tracks.Docs: tool descriptions, system prompt,
ai-agent.md,website/docs/ai-editing.mdand its 7 translations, theopenscreen-demoskill.mcp-server.mdneeded no change: it lists no per-tool arguments.Related issue
Part of #1180
Type of change
Release impact
Desktop impact
Screenshots / video
None: no UI change. The inspector's level control and audio pane behave as before.
Testing
electron/ai-edition/agent-tools.test.ts(zoom settings, level limit, blur, arrow, retype, refusals, fades) anddeep-agent/service.test.ts(descriptions).npx tsc --noEmit,npx tsc -p tsconfig.test.json --noEmit,npm run lint.npx vitest --run electron/ai-edition electron/mcp src/lib/ai-edition: 1746 passed.🤖 Generated with Claude Code
Summary by CodeRabbit