Add a computed `src` field property to the image field type
### Overview When a code-component developer picks image data to expose to a component, the image field type's only browser-ready URL property is Canvas's computed `src_with_alternate_widths`. The property name itself leaks an internal implementation detail — the responsive-images (`srcset`) machinery — into the developer-facing data-selection experience. There is no plainly-named `src` property to pick. ### Proposed resolution Add a computed, non-internal `src` field property to the image field type as a **DX alias** of `src_with_alternate_widths`: same `ComputedUrlWithQueryString` resolution and same resolved URL (the `?alternateWidths` query string is retained — it drives Canvas's responsive image handling and is not noise to strip). The win is the name: developers select a clean `src` without learning about the `src_with_alternate_widths` internal. Adding computed field properties to field types is not sustainable long-term. This is a stopgap: a `@todo` tracks replacing it with adapters (https://www.drupal.org/project/canvas/issues/3464003), a switch that will require an update path for all component trees consuming the property. `src` is intended for **direct selection** (the entity-reference selection UI, #3585355). It must **not** disturb automatic shape matching, which continues to use `src_with_alternate_widths`. To achieve that, `src` is marked as a source of `src_with_alternate_widths` (`is source for`), so the shape matcher skips it — the same mechanism that excludes a text field's `value`/`format` in favour of `processed`. ### User interface changes None in this issue. Automatic shape matching and content-template suggestions are unchanged (they keep resolving `src_with_alternate_widths`). `src` becomes selectable in the postponed entity-reference selection UI (#3585355). ### API changes - Image field type: added computed field property `src` (non-internal), an alias of `src_with_alternate_widths` marked `is source for` it so automatic shape matching ignores it. ### Data model changes None. Automatic shape matching is unchanged; no stored component trees or content templates are affected. ### Release notes snippet The image field type now exposes a developer-friendly `src` URL property that code components can select directly, aliasing the existing responsive `srcset`-aware URL. Automatic shape matching is unaffected.
issue