mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-07-09 17:19:02 +00:00
* fix(cua-driver): denormalize from_zoom click coords in normalized mode When CUA_DRIVER_RS_COORDINATE_SPACE=1 (0-1000 normalized coordinates), from_zoom=true clicks were skipping denormalization entirely, causing the model's 0-1000 values to be treated as raw pixel offsets in the zoom image — landing clicks at the wrong position. - Add ZOOM_SIZE_CACHE: cache zoom image dimensions (width/height) from zoom tool results, keyed by pid (matching platform ZoomRegistry) - denormalize_args: when from_zoom=true and cache exists, denormalize x/y against zoom image dimensions instead of skipping - rewrite_coord_desc: rewrite from_zoom description from "pixel coordinates" to "0-1000 normalized coordinates" so the model sends normalized values - ingest_zoom_size: new output hook called after zoom tool execution to populate the cache * fix(cua-driver): error on missing coord cache + normalize scroll/mouse tools Two additional fixes for the 0-1000 normalized coordinate mode: 1. denormalize_args now returns Result<(), String> and errors when a required size basis is missing (SIZE_CACHE, SCREEN_SIZE, DESKTOP_SCREENSHOT_SIZE, ZOOM_SIZE_CACHE), instead of silently passing through unconverted normalized coordinates that would land clicks at wrong positions. The error messages guide the model to call the appropriate query tool (get_window_state, get_screen_size, get_desktop_state, zoom) first. 2. Add scroll, mouse_button_down, mouse_button_up, mouse_drag to input_coord_fields so their x/y coordinates are denormalized in normalized mode. scroll x/y specify where to deliver the wheel event (not scroll amount); Linux mouse tools are stateful press/drag/release with window-local coordinates. * chore(cua-driver): bump version to 0.7.1 * fix(cua-driver): stop rewriting screenshot_width/height in normalized mode normalize_result was rewriting get_window_state and get_desktop_state screenshot_width/height to 1000, conflicting with elements[].frame which stays in pixels. The model received contradictory coordinate information: screenshot dimensions said 1000 but element positions were in real pixels (e.g. x=1444). Query tool results should be returned unmodified. The model is guided to use 0-1000 coordinates through tool schema descriptions and MCP instructions, not by tampering with return values. * fix(cua-driver): address review — normalize_result + parallel_mouse_drag 1. Stop rewriting screenshot_width/height to 1000 in normalized mode. Query results now return real pixel values; the model is guided to use 0-1000 coords through schema descriptions and instructions only. 2. Fix parallel_mouse_drag per-item window_id lookup: each drag item resolves its own (pid, window_id) from SIZE_CACHE instead of using the caller-level screenshot_w/h (which is always 0 since the tool has no top-level pid/window_id). 3. Add x_from/x_to conversion for fn-expression domain bounds. 4. Prevent from_zoom early return from skipping nested coord handler. 5. Fix misleading comments about "non-empty entry" and "nested rewrite". |
||
|---|---|---|
| .. | ||
| .cargo | ||
| crates | ||
| sandbox | ||
| scripts | ||
| Skills/cua-driver | ||
| test-apps | ||
| tests/integration | ||
| .bumpversion.cfg | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| PARITY.md | ||