From 12e0babf4a01c3e69f64d030677865c9d48ac87c Mon Sep 17 00:00:00 2001 From: Codex-ytr83r Date: Wed, 23 Sep 2026 22:20:39 -0700 Subject: [PATCH] docs: describe picker Escape vendor modifications --- crates/vendor/iced_widget/ARCADIA-PATCH.md | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/crates/vendor/iced_widget/ARCADIA-PATCH.md b/crates/vendor/iced_widget/ARCADIA-PATCH.md index e4c1ef0c..7bd0da07 100644 --- a/crates/vendor/iced_widget/ARCADIA-PATCH.md +++ b/crates/vendor/iced_widget/ARCADIA-PATCH.md @@ -7,7 +7,10 @@ https://raw.githubusercontent.com/iced-rs/iced/54abf81d13fec06d4d9ac754b03ce2c33 SHA-256 `fc9086ba4eba4b77e4c603906362742bc3715ffa2c7810c6074fe7780d3a0398`. All copied src/assets and Cargo manifests retain their upstream bytes except -`src/text_editor.rs`, which adds one documented read-only `Content::with_editor` +the three modules described below. Their original files are identified in +UPSTREAM-MANIFEST.json. + +`src/text_editor.rs` adds one documented read-only `Content::with_editor` callback. Original file SHA-256: `cecf8686c90aa92066d55075beba545dfb7dd5a44bad0c1519fcb110a56070e1`. The callback borrows the existing renderer editor and releases the borrow when @@ -19,6 +22,20 @@ measurement. The isolated Windows CPU experiment verified the exact painted editor identity and geometry plus retained Word/Line selection and scroll; application integration/native validation are separately required. +`src/pick_list.rs` shares its open flag with the menu overlay and supplies a +base-event fallback for a picker opened earlier in the same event batch. +Escape dismisses the open picker, captures the key, requests redraw and sends +its optional close notification without selecting an option. + +`src/overlay/menu.rs` adds the private opt-in bridge used by PickList. It handles +Escape before controls underneath the overlay receive it. Once its owner is +closed, the retained overlay ignores later queued events and no longer draws +or reports a mouse interaction. This prevents a queued click from selecting +an option after dismissal and prevents duplicate close notifications. Other +Menu consumers retain their existing behavior unless they opt into the bridge. +The application-level Escape routing and its regression tests are separate +from these vendored modules; source description alone is not runtime evidence. + UPSTREAM-MANIFEST.json records all files from the local pinned registry source, including registry bookkeeping and the upstream crate lockfile not copied here. Those omitted files are not package inputs. The workspace root Cargo.lock and @@ -26,6 +43,8 @@ local patch path identify the resolved dependency; this patched package is not the unmodified registry checksum. Keep LICENSE and this provenance in source captures and generated dependency notices. -On upgrades compare the pristine upstream module and replay only this accessor. -Recheck actual editor layout, selection/input continuity and annotation tests. -Remove this patch if upstream provides equivalent read-only layout access. +On upgrades compare all three modules with their pristine upstream versions +and reassess each change. Recheck actual editor layout, selection/input +continuity, annotations, picker dismissal, same-batch queued input and close +notification behavior. Remove each local change when upstream provides its +equivalent behavior.