Files
ARCADIA-Studio/crates/vendor/iced_widget/ARCADIA-PATCH.md
T

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.