From f5de590dee6c6b444502c27c1ed090a8325b1700 Mon Sep 17 00:00:00 2001 From: dotCooCoo Date: Fri, 13 Nov 2026 09:32:19 -0800 Subject: [PATCH 1/5] SVG Interactivity: replies name JavaScript files outside the read roots by file name With automation read roots in force, svgInteractivity.info and the files reply of addFile and removeFile returned every linked JavaScript file as stored, including paths outside the roots. They now name such a file by its file name alone, as document.json does; a file inside the roots and a URL are named as they are, and the document keeps every path. removeFile also unlinks a file outside the roots by that file name. When the name fits more than one linked file, it returns an error that names no stored path and unlinks nothing. addFile still treats only the same text as already linked. In a frame a request drives, the JavaScript Files dialog lists such a file by its file name while its selection keeps the file as linked, and ui.inspect gives the selected file the same way. The person's frames show full paths. --- crates/engine/src/cmd/interactivity.rs | 43 +++++-- crates/engine/src/cmd/links.rs | 16 ++- crates/engine/src/tests/interactivity.rs | 119 ++++++++++++++++++ crates/ui-egui/src/control.rs | 16 ++- .../ui-egui/src/dialogs/javascript_files.rs | 65 +++++++++- crates/ui-egui/src/tests/automation.rs | 24 ++++ docs/mcp.md | 11 +- docs/target-app-parity.md | 1 + 8 files changed, 273 insertions(+), 22 deletions(-) diff --git a/crates/engine/src/cmd/interactivity.rs b/crates/engine/src/cmd/interactivity.rs index 4bcc123dcf..359c2d00d6 100644 --- a/crates/engine/src/cmd/interactivity.rs +++ b/crates/engine/src/cmd/interactivity.rs @@ -3,10 +3,14 @@ //! document links (`svgInteractivity.addFile`, `removeFile`). SVG export writes the events as //! event attributes (`onclick="…"`) and the files as `