51 lines
2.9 KiB
Markdown
51 lines
2.9 KiB
Markdown
# 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.
|