2.9 KiB
Pinned Iced widget patch
Upstream crate: iced_widget 0.14.2, MIT. Its registry VCS record identifies
iced-rs/iced commit 54abf81d13fec06d4d9ac754b03ce2c3313e8a1f, path widget.
The accompanying LICENSE was obtained from that exact upstream commit:
https://raw.githubusercontent.com/iced-rs/iced/54abf81d13fec06d4d9ac754b03ce2c3313e8a1f/LICENSE
SHA-256 fc9086ba4eba4b77e4c603906362742bc3715ffa2c7810c6074fe7780d3a0398.
All copied src/assets and Cargo manifests retain their upstream bytes except 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
the closure returns. It adds no mutable editor access or event behavior.
ARCADIA uses this seam to project source diagnostics onto the actual painted editor layout. It must not clone/rebuild Content or move user selection for 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 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 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.